
using System;

namespace raycsharp
{
	public class Color
	{
		public double red { set; get; } 
		public double green { set; get; } 
		public double blue { set; get; } 
		public Color(double _red, double _green, double _blue)	{
			red = _red;
			green = _green;
			blue = _blue;
		}
		
		public Color() : this(0.0,0.0,0.0) { }
		
		public static Color operator+(Color color, Color _color) {
			return new Color(color.red + _color.red,
			                 color.green + _color.green,
			                 color.blue + _color.blue);
		}
		
		public static Color operator-(Color color, Color _color) {
			return new Color(color.red - _color.red,
			                 color.green - _color.green,
			                 color.blue - _color.blue);
		}
		public static Color operator*(Color color, Color _color) {
			return new Color(color.red * _color.red,
			                 color.green * _color.green,
			                 color.blue * _color.blue);
		}
		public static Color operator*(Color color, double _color) {
			return new Color(color.red * _color,
			                 color.green * _color,
			                 color.blue * _color);
		}
		public static Color operator*(double _color, Color color) {
			return new Color(color.red * _color,
			                 color.green * _color,
			                 color.blue * _color);
		}
	}
}
